using System.Collections.Generic;
using System.Reflection;

namespace DependencyAnalysis
{
    public interface IAnalyzer
    {
        /// <summary>
        /// Builds the dependencies for the assemblies provided, they are marked as part of your project.
        /// Referenced assemblies are resolved. Those are marked as foreign modules or part of framework.
        /// Dependencies are directly written into to the dependency modl controlled by the analyzer
        /// instance.
        /// </summary>
        /// <param name="assemblyFiles">a collection of absolute pathes to assembly files</param>
        void BuildDependencies(IEnumerable<string> assemblyFiles); 

        /// <summary>
        /// Builds the dependencies for the assemblies provided, they are marked as part of your project.
        /// Referenced assemblies are resolved. Those are marked as foreign modules or part of framework.
        /// Dependencies are directly written into to the dependency modl controlled by the analyzer
        /// instance.
        /// </summary>
        /// <param name="assemblies">Provide  assemblies</param>
        void BuildDependencies(IEnumerable<Assembly> assemblies);
    }
}